﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace devoirBD2
{
    public class CommandeLigne
    {
        //Champs de la table CommandeDetail
        private long idCommande;
        private long idProduit;
        private long qte;
        private decimal prix;

        //Champs d'autres tables
        private string nomProduit;

        public CommandeLigne(long idCommande, long idProduit, long qte, decimal prix, string nomProduit)
        {
            this.idCommande = idCommande;
            this.idProduit = idProduit;
            this.qte = qte;
            this.prix = prix;
            this.nomProduit = nomProduit;
        }

        public string[] getLigne()
        {
            return new string[]{
                nomProduit,
                String.Format("{0:0.00}", prix) + "$",
                qte.ToString(),
                String.Format("{0:0.00}", prix * qte) + "$"
            };
        }

        public long getIdProduit()
        {
            return idProduit;
        }

        public void insert()
        {
            string query = "INSERT INTO commandedetail(idcommande, idproduit, quantite, prix) VALUES(" + idCommande + "," + idProduit + "," + qte + "," + String.Format("{0:0.00}", prix).Replace(',','.') + ")";

            Bd bd = Bd.getInstance();

            bd.openConnection();

            bd.executeUpdate(query);

            bd.closeConnection();
        }

        public void update(long qte)
        {
            this.qte = qte;

            string query = "UPDATE commandedetail SET quantite = " + qte + " WHERE idproduit = " + idProduit + " AND idcommande = " + idCommande;

            Bd bd = Bd.getInstance();

            bd.openConnection();

            bd.executeUpdate(query);

            bd.closeConnection();
        }

        public decimal getMontant()
        {
            return qte * prix;
        }

        public string getNomProduit()
        {
            return nomProduit;
        }

        public void delete()
        {
            string query = "DELETE FROM commandedetail WHERE idcommande = " + idCommande.ToString() + " AND idproduit = " + idProduit.ToString();

            Bd bd = Bd.getInstance();

            bd.openConnection();

            bd.executeUpdate(query);

            bd.closeConnection();
        }
    }
}
